#ifndef _ALVA_CONFIG_FL_
#define _ALVA_CONFIG_FL_

//_Alva_OS_List_
#define OS_Android    0
#define OS_iOS        1
#define OS_Windows    2
#define OS_Linux      3

#ifndef OS_ALVA
#error "OS_ALVA is not defined. Please define OS_ALVA like following: \nAndroid: add LOCAL_CFLAGS := -DOS_ALVA=OS_Android in Android.mk Windows: add /D\"OS_ALVA\"=OS_Windows in ProjectProperty->C\C++->CommandLine"
#endif

//_Alva_CPU_
#define CPU_ARM       0
#define CPU_x86       1
#define CPU_x64       2
#define CPU_mips      3

#ifndef CPU_ALVA
#error "CPU_ALVA is not defined. Please define CPU_ALVA like following: \nAndroid: add LOCAL_CFLAGS := -DCPU_ALVA=CPU_ARM in Android.mk Windows: add /D\"CPU_ALVA\"=CPU_x86 in ProjectProperty->C\C++->CommandLine"
#endif

//_DUMP_SWITCH_List_
#define Dump_On       1
#define Dump_Off      0

#ifndef DUMP_SWITCH
#warning "Turn on Dump"
#define DUMP_SWITCH Dump_On
#endif

//_Alva__
#define Release_Alva  0
#define Debug_Alva    1

#ifndef DebugInfo_Switch
#warning "DebugInfo_Switch is not defined. Current is in Debug mode. You can change to Release Mode like following: \nAndroid: add LOCAL_CFLAGS := -DDebugInfo_Switch=Release_Alva in Android.mk Windows: add /D\"DebugInfo_Switch\"=Release_Alva in ProjectProperty->C\C++->CommandLine"
#define DebugInfo_Switch Debug_Alva
#endif

#if DebugInfo_Switch==Release_Alva
#undef DUMP_SWITCH
#define DUMP_SWITCH Dump_Off
#endif

//implemention
#define Alva_CL_Version 0
#define Alva_GL_Version 1

#ifndef Alva_Use_Version
#warning "Alva_Use_Version is not defined. Current is in CL_Version mode. You can change to GL_Version Mode like following: \nAndroid: add LOCAL_CFLAGS := -DAlva_Use_Version=Alva_GL_Version in Android.mk Windows: add /D\"Alva_Use_Version\"=Alva_GL_Version in ProjectProperty->C\C++->CommandLine"
#define Alva_Use_Version Alva_CL_Version
#endif

#endif
